Runtime Support for Task Migration on Distributed Memory Architectures
نویسنده
چکیده
The use of the task migration paradigm has been shown to allow efficient execution of unstructured codes on distributed-memory, parallel architectures. With this model, the data distributed on the parallel processors are never moved. When access to a non-local variable is necessary, the current computation is suspended and then resumed on the processor in charge of this variable. Our implementation of this model is based on a program transformation system and on a runtime library in charge of the communications. The program transformation part is architecture independent and considers a buffer space where the data of the migrating computations are stored. The associated runtime library is in charge of moving data among the processors, managing the buffer space inside a limited memory, and detecting the end of the computation. The implementation of this library depends heavily on the target architectures.
منابع مشابه
A Multithreaded Runtime System With Thread Migration for Distributed Memory Parallel Computing
Multithreading is very effective at tolerating the latency of remote memory accesses in distributed memory parallel computers, but does nothing to reduce the number or cost of those memory accesses. Compiler techniques and runtime approaches, such as caching remote memory accesses and prefetching, are often used to reduce the number of remote memory accesses. Another approach to reduce the numb...
متن کاملPreemptive Task Scheduling for Distributed Systems
Task scheduling in a preemptive runtime environment has potential advantages over the non-preemptive case such as better processor utilization and more flexibility when scheduling tasks. Furthermore, preemptive approaches may need less runtime support (e.g. no task ordering required). In contrast to the non-preemptive case, preemptive task scheduling in a distributed system has not received muc...
متن کاملScheduling User-Level Threads on Distributed Shared-Memory Multiprocessors
In this paper we present Dynamic Bisectioning or DBS, a simple but powerful comprehensive scheduling policy for user-level threads, which unifies the exploitation of (multidimensional) loop and nested functional (or task) parallelism. Unlike other schemes that have been proposed and used thus far, DBS is not constrained to scheduling DAGs or singly nested parallel loops. Rather, our policy enco...
متن کاملOn the Design and Implementation of DSM-Threads
This paper discusses design goals, design decisions, and implementation choices of DSM-Threads, a runtime system to support distributed threads with a distributed shared virtual memory (DSM). DSM-Threads provides a distributed runtime system with a kernel on each node, which relies on POSIX threads locally and a decentralized communication subsystem between nodes. Support for multiple data cons...
متن کاملSNOW: Software Systems for Process Migration in High-Performance, Heterogeneous Distributed Environments
This paper reports our experiences on the Scalable Network Of Workstation (SNOW) project, which implements a novel methodology to support user-level process migration for traditional stack-based languages such as C and Fortran in heterogeneous distributed environments. Our methodology addresses the three outstanding problems of transferring execution state, memory state, and communication state...
متن کامل